package org.fujay.langchain4jserver.domain.knowledge.vo;

import java.io.Serial;
import java.io.Serializable;

/**
 * 从向量数据库检索到的相关文档片段
 *
 * @param textContent      文档片段内容
 * @param originalFileId   来源文件ID
 * @param originalFileName 来源文件名 (可选)
 * @param score            相关性得分
 */
public record RelevantDocument(
        String textContent, FileId originalFileId, String originalFileName, double score)
        implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    // 可以添加其他元数据，如页码等

    // Constructor generated by @Value
    // public RelevantDocument(String textContent, FileId originalFileId, String
    // originalFileName, double score) {
    // this.textContent = textContent;
    // this.originalFileId = originalFileId;
    // this.originalFileName = originalFileName;
    // this.score = score;
    // }
}
